/**
 * 系统管理--用户管理的单例对象
 */
var MgrUser = {
    id: "companyTable",//表格id
    seItem: null,		//选中的条目
    table: null,
    layerIndex: -1
};

$(function () {
    var defaultColunms = MgrUser.initColumn();
    var table = new BSTable("companyTable", "/company/queryAll", defaultColunms);
    table.setPaginationType("server");
    MgrUser.table = table.init();
    /**
     * checkbox样式效果
     */
    $('.i-checks').iCheck({
        checkboxClass: 'icheckbox_square-green',
        radioClass: 'iradio_square-green',
    });
});

/**
 * 初始化表格的列
 */
MgrUser.initColumn = function () {

    var columns = [
        {title: '序列', field: 'Number',formatter: function (value, row, index) {return index+1;}},
        // {title: 'ID', field: 'id', visible: false, align: 'center', valign: 'middle'},
        {title: '公司名称', field: 'companyName', align: 'center', valign: 'middle', sortable: true, width: 250,formatter: statecompanyName},
        {title: '地址', field: 'address', align: 'center', valign: 'middle', sortable: true, width: 250},
        {title: '联系人', field: 'contacts', align: 'center', valign: 'middle', sortable: true},
        {title: '固定电话', field: 'telePhone', align: 'center', valign: 'middle', sortable: true},
        {title: '手机', field: 'mobilePhone', align: 'center', valign: 'middle', sortable: true},
        {title: '来源', field: 'source', align: 'center', valign: 'middle', sortable: true, visible:false},
        {title: '企业状态', field: 'phoneState', align: 'center', valign: 'middle', sortable: true,formatter: stateFormatter},
        {title: '跟踪日志', field: 'track', align: 'center', valign: 'middle', formatter: trackBinding},
        {title: '操作', field: 'id', align: 'center', valign: 'middle', formatter: operationBinding}];
    return columns;
};

/**
 * 绑定该公司是否有下次跟进时间
 */
function statecompanyName(val, row, index) {
    if (row.intentionalTime != null && row.intentionalTime != "")
        return "<img alt='推荐' src='/img/tuijian.png' />"+val;
    else
        return val;
}


/**
 * 绑定企业状态
 * @param value
 * @param row
 * @param index
 */
function stateFormatter(val, row, index){
    if (val == 0)
        return "<a style='color:#16987e;' ><span class='fa fa-heartbeat'></a>";
    else if(val == 1)
        return "<a style='color:#f8ac59;' ><span class='fa fa-ban'></span></a>";
    else if(val == 2)
        return "<a style='color:#ed5565;' ><span class='fa fa-remove'></span></a>";
    else if(val == 3)
        return "<a style='color:#1872ab;' ><span class='fa fa-phone'></span></a>";
}


/**
 * 操作状态绑定
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function operationBinding(value, row, index){
    var result = "";
    result += "<a href='javascript:;' class='btn' style='color:#16987e;' onclick=\"MgrUser.openEditMgr('" + value + "')\" title='编辑'><span class='fa fa-edit'></span></a>";
    result += "<a href='javascript:;' class='btn' style='color:#f8ac59;' onclick=\"MgrUser.UpdateStats('" + value + "', '1')\" title='未接通'><span class='fa fa-ban'></span></a>";
    result += "<a href='javascript:;' class='btn' style='color:#ed5565;' onclick=\"MgrUser.UpdateStats('" + value + "', '2')\" title='拒绝'><span class='fa fa-remove'></span></a>";
    result += "<a href='javascript:;' class='btn' style='color:#1872ab;' onclick=\"MgrUser.UpdateStats('" + value + "', '3')\" title='通话中'><span class='fa fa-phone'></span></a>";
    result += "<a href='javascript:;' class='btn' style='color:#1eacae;' onclick=\"MgrUser.UpdateStats('" + value + "', '4')\" title='意向客户'><span class='fa fa-check'></span></a>";
    result += "<a href='javascript:;' class='btn' style='color:red;' onclick=\"MgrUser.UpdateStats('" + value + "', '5')\" title='删除'><span class='fa fa-trash'></span></a>";
    return result;
}

/**
 * 操作状态绑定
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function trackBinding(value, row, index){
    return "<a href='javascript:;' onclick=\"MgrUser.trackingLog('" + row.id + "')\" title='跟踪日志'>跟踪日志</a>";
}

/**
 * 特殊功能时间触发器
 */
function customParam(){
    var customParam = laydate.render({
        elem: '#customParam'
    });
}



/**
 * 更改公司状态
 * @param id
 * @param stats
 * @constructor
 */
MgrUser.UpdateStats = function (id,stats){
    if (stats == '5'){
        swal({
            title: "您确定要删除这条信息吗",
            text: "删除后将无法恢复，请谨慎操作！",
            type: "error",
            showCancelButton: true,
            confirmButtonColor: "#ed5565",
            confirmButtonText: "是的，我要删除！",
            cancelButtonText: "让我再考虑一下…",
            closeOnConfirm: false
        }, function () {
            $.ajax({
                url : "/company/update_stats",
                type : "POST",
                traditional : true,
                dataType : "JSON",
                data : {
                    id : id,
                    stats : stats,
                },
                success : function(data) {
                    swal("删除成功！", "您已经删除了这条信息。", "success");
                    MgrUser.table.refresh();
                },error : function () {
                    swal("删除失败", "操作删除失败,请联系管理人员！", "error");
                }
            });
        });
    } else if (stats == '4') {
        swal({
            title: "您确定要修改这条信息吗",
            text: "修改企业信息为“意向”！",
            type: "input",
            showCancelButton: true,
            confirmButtonColor: "#1eacae",
            confirmButtonText: "意向",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function (inputValue) {
            var re =/^\d{4}\-\d{2}\-\d{2}$/;
            var intentionalTime = null;
            if (intentionalTime != ""){
                if(!re.test(inputValue)){
                    swal("请输入正确的时间格式“YYYY-MM-DD”");
                    return false;
                }else{
                    intentionalTime = inputValue;
                }
            }
            $.ajax({
                url : "/company/update_stats",
                type : "POST",
                traditional : true,
                dataType : "JSON",
                data : {
                    id : id,
                    stats : stats,
                    intentionalTime: intentionalTime
                },
                success : function(data) {
                    swal("操作成功！", "您已经修改了该企业为“意向”。", "success");
                    MgrUser.table.refresh();
                },error : function () {
                    swal("操作失败", "操作失败,请联系管理人员！", "error");
                }
            });
        });
    } else if (stats == '3') {
        swal({
            title: "您确定要修改这条信息吗",
            text: "修改企业信息为“通话”！",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#1872ab",
            confirmButtonText: "通话",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            $.ajax({
                url : "/company/update_stats",
                type : "POST",
                traditional : true,
                dataType : "JSON",
                data : {
                    id : id,
                    stats : stats,
                },
                success : function(data) {
                    swal("操作成功！", "您已经修改了该企业为“通话”。", "success");
                    MgrUser.table.refresh();
                },error : function () {
                    swal("操作失败", "操作失败,请联系管理人员！", "error");
                }
            });
        });
    } else if (stats == '2') {
        swal({
            title: "您确定要修改这条信息吗",
            text: "修改企业信息为“拒绝”！",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: "拒绝",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            $.ajax({
                url : "/company/update_stats",
                type : "POST",
                traditional : true,
                dataType : "JSON",
                data : {
                    id : id,
                    stats : stats,
                },
                success : function(data) {
                    swal("操作成功！", "您已经修改了该企业为“拒绝”。", "success");
                    MgrUser.table.refresh();
                },error : function () {
                    swal("操作失败", "操作失败,请联系管理人员！", "error");
                }
            });
        });
    } else if (stats == '1') {
        swal({
            title: "您确定要修改这条信息吗",
            text: "修改企业信息为“未接通”！",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#f8ac59",
            confirmButtonText: "未接通",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            $.ajax({
                url : "/company/update_stats",
                type : "POST",
                traditional : true,
                dataType : "JSON",
                data : {
                    id : id,
                    stats : stats,
                },
                success : function(data) {
                    swal("操作成功！", "您已经修改了该企业为“未接通”。", "success");
                    MgrUser.table.refresh();
                },error : function () {
                    swal("操作失败", "操作失败,请联系管理人员！", "error");
                }
            });
        });
    }
}



/**
 * 条件查询
 */
MgrUser.search = function () {
    var queryData = {};
    queryData['param1'] = $("#param1").val();
    queryData['param2'] = $("#param2").val();
    queryData['param3'] = $('#param3').get(0).checked;
    this.data = queryData;
    MgrUser.table.refresh({query: queryData});
}

/**
 * 公司信息导出
 */
MgrUser.export = function () {
    console.log(window.location.href = "/company/export?companyName="+$('#param1').val()+"&address="+$('#param2').val()+"&tuijian="+$('#param3').get(0).checked);
}

/**
 * 添加企业基础信息
 */
MgrUser.openAddMgr = function () {
    var index = layer.open({
        type: 2,
        title: '添加企业基础信息',
        area: ['800px', '500px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: '/company/company_add'
    });
    this.layerIndex = index;
};


/**
 * 修改企业基础信息
 */
MgrUser.openEditMgr = function (id){
    var index = layer.open({
        type: 2,
        title: '修改企业基础信息',
        area: ['800px', '510px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: '/company/company_edit?id='+id
    });
    this.layerIndex = index;
};



/**
 * 跟踪日志列表
 */
MgrUser.trackingLog = function (id) {
    var index = layer.open({
        type: 2,
        title: '企业跟踪日志',
        area: ['800px', '582px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: '/trackRecord/trackingLog_view?id='+id+'&trackstate=0'
    });
    this.layerIndex = index;
};
